package com.xbongbong.saas.constant.callcenter;

/**
 * 度言 员工管理 API 相关静态资源
 *
 * @author 章华隽
 * @mail nefeed@163.com
 * @time 2017-10-25 10:39
 */
public class DuYanAcountApiConstant {

    /**
     * 企业员工列表 API GET
     *
     * @param apikey 是 企业的apikey，可通过获取企业apikey接口获取
     * @param page_num 是 页码，从1开始
     * @param page_size 是 每页个数，最大100
     * @param is_admin 否 公司管理员。true：过滤公司管理员，false：过滤非公司管理员，不传则不过滤
     * @param is_agent 否 坐席。true：过滤坐席，false：过滤非坐席，不传则不过滤
     * @param is_supervisor 否 团队管理员。true：过滤团队管理员，false：过滤非团队管理员，不传则不过滤
     * @param name 否 员工姓名
     * @param mobile 否 员工手机号码
     * @return {
                "total_elements": 1,
                "total_pages": 1,
                "accounts": [{
                    "account_id": 10000185,
                    "name": "测试员工",
                    "is_admin": true,
                    "is_agent": true,
                    "is_supervisor": true,
                    "team_id": 10000063
                }]
               }
     * 总页数 total_pages
     * 总数 total_elements
     * 员工编号 account_id
     * 员工姓名 name
     * 员工职位 title
     * 手机号码 mobile
     * 是否为公司管理员 is_admin
     * 是否为坐席 is_agent
     * 所属团队编号 team_id (坐席所属团队的team_id)
     * 是否为团队管理员 is_supervisor (当team_id不为空时存在)
     */
    public static final String API_ACCOUNT_LIST = "/account";

    /**
     * 创建员工 API POST
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param name 必填 员工姓名
     * @param title 否 员工职位
     * @param mobile 否 手机号码，坐席人员必须提供手机号码，可在该api传入，或者修改员工信息/注册手机号码传入
     * @return {"account_id": 10000189, "name": "坐席1号码", "mobile": "18878832064", "title": "主管"}
     * 员工编号 account_id Long
     * 员工姓名 name String
     * 手机号码 mobile String
     * 员工职位 title String
     */
    public static final String API_ACCOUNT_REGISTER = "/account";
    
    /**
     * 删除员工 API GET
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @return 并没有data，根据"status"判断成功与否
     */
    public static final String API_ACCOUNT_DELETE = "/account/%s";

    /**
     * 获取员工信息 API GET
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @return {"is_admin": true, "is_supervisor": true, "account_id": 10000185, "name": "测试员工", "is_agent": true, "team_id": 10000063}
     * 员工编号 account_id Long
     * 员工姓名 name String
     * 手机号码 mobile String
     * 员工职位 title String
     * 是否为公司管理员 is_admin Boolean
     * 是否为坐席	 is_agent Boolean 是否为坐席。true：坐席，false：非坐席
     * 所属团队编号 team_id Long 10000027 坐席所属的团队的team_id
     * 是否为团队管理员 is_supervisor Boolean 是否为团队管理员，当team_id不为空时存在。true：团队管理员， false：普通坐席
     */
    public static final String API_ACCOUNT_DETAIL = "/account/%s";

    /**
     * 修改员工信息 API POST
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @param name 必填 员工姓名
     * @param title 否 员工职位
     * @param mobile 否 手机号码，坐席人员必须提供手机号码，可在该api传入，或者修改员工信息/注册手机号码传入
     * @return {"account_id": 10000189, "name": "坐席1号码", "mobile": "18878832064", "title": "主管"}
     * 员工编号 account_id Long
     * 员工姓名 name String
     * 手机号码 mobile String
     * 员工职位 title String
     */
    public static final String API_ACCOUNT_UPDATE = "/account/%s";

    /**
     * 设为坐席 API POST
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @param team_id 否 坐席所属的团队的team_id
     * @param is_supervisor 否 是否为团队管理员，当team_id不为空时有效，默认为false。true：团队管理员， false：普通坐席
     * @return {"is_supervisor": false,"account_id": 10000186,"is_agent": true,"team_id": 10000064}
     * 员工编号 account_id Long
     * 是否为坐席 is_agent Boolean
     * 所属团队编号 team_id Long
     * 是否为团队管理员 is_supervisor Boolean
     */
    public static final String API_AGENT_SET = "/account/%s/agent";

    /**
     * 取消坐席 API DELETE
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @return {"account_id": 10000185, "is_agent": true}
     * 员工编号 account_id Long
     * 是否为坐席 is_agent Boolean
     */
    public static final String API_AGENT_REMOVE = "/account/%s/agent";

    /**
     * 注册手机号码 API POST
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @param mobile 必填 员工手机号码
     * @return {"account_id": 10000185, "mobile": "18868832065"}
     * 员工编号 account_id Long
     * 手机号码 mobile String
     */
    public static final String API_ACCOUNT_MOBILE_REGISTER = "/account/%s/mobile";

    /**
     * 修改团队坐席 API POST
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @param team_id 必填 坐席所属的团队的team_id
     * @param is_supervisor 否 是否为团队管理员，默认为false。true：团队管理员， false：普通坐席
     * @return {"is_supervisor": false,"account_id": 10000186,"is_agent": true,"team_id": 10000064}
     * 员工编号 account_id Long
     * 是否为坐席 is_agent Boolean
     * 所属团队编号 team_id Long
     * 是否为团队管理员 is_supervisor Boolean
     */
    public static final String API_ACCOUNT_TEAM_SET = "/account/%s/team";

    /**
     * 删除团队坐席 API DELETE
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @param team_id 必填 坐席所属的团队的team_id
     * @return {"account_id": 10000185, "is_agent": true}
     * 员工编号 account_id Long
     * 是否为坐席 is_agent Boolean
     */
    public static final String API_ACCOUNT_TEAM_REMOVE = "/account/%s/team";

    /**
     * 设置团队管理员 API POST
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @return {"is_supervisor": false,"account_id": 10000186,"is_agent": true,"team_id": 10000064}
     * 员工编号 account_id Long
     * 是否为坐席 is_agent Boolean
     * 所属团队编号 team_id Long
     * 是否为团队管理员 is_supervisor Boolean
     */
    public static final String API_ACCOUNT_SUPERVISOR_SET = "/account/%s/supervisor";

    /**
     * 取消团队管理员 API DELETE
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @return {"is_supervisor": false,"account_id": 10000186,"is_agent": true,"team_id": 10000064}
     * 员工编号 account_id Long
     * 是否为坐席 is_agent Boolean
     * 所属团队编号 team_id Long
     * 是否为团队管理员 is_supervisor Boolean
     */
    public static final String API_ACCOUNT_SUPERVISOR_REMOVE = "/account/%s/supervisor";

    /**
     * 设置公司管理员 API POST
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @return {"account_id": 10000187, "is_admin": false}
     * 员工编号 account_id Long
     * 是否非公司管理员 is_admin Boolean
     */
    public static final String API_ACCOUNT_ADMIN_SET = "/account/%s/admin";

    /**
     * 取消公司管理员 API DELETE
     * 缺省 {account_id}
     *
     * @param apikey 必填 企业的apikey，可通过获取企业apikey接口获取
     * @param account_id 必填 员工的account_id
     * @return {"account_id": 10000187, "is_admin": false}
     * 员工编号 account_id Long
     * 是否非公司管理员 is_admin Boolean
     */
    public static final String API_ACCOUNT_ADMIN_REMOVE = "/account/%s/admin";
}
